<html>
<head>
  <link rel="stylesheet" type="text/css" href="main.css">
</head>
<body>
  <div class="main">
    <h1>Namespace: joker.template</h1>
    <span class="var-added">v1.0</span>
    <h2>Contents</h2>
    <ul>
      <li>
        <a href="#_summary">Summary</a>
      </li>
      <li>
        <a href="#_index">Index</a>
      </li>
      <li>
        <a href="#_constants">Constants</a>
      </li>
      <li>
        <a href="#_variables">Variables</a>
      </li>
      <li>
        <a href="#_functions">Functions, Macros, and Special Forms</a>
      </li>
    </ul>
    <h2 id="_summary">Summary</h2>
    <p class="var-docstr">Macros that expand to repeated copies of a template expression.</p>
    <h2 id="_index">Index</h2>
    <ul class="index">
      <li>
  <a href="#apply-template">apply-template</a>
</li>
<li>
  <a href="#do-template">do-template</a>
</li>

    </ul>
    <h2 id="_constants">Constants</h2>
    Constants are variables with <tt>:const true</tt> in their metadata. Joker currently does not recognize them as special; as such, it allows redefining them or their values.
    <ul>
      (None.)
    </ul>
    <h2 id="_variables">Variables</h2>
    <ul>
      (None.)
    </ul>
    <h2 id="_functions">Functions, Macros, and Special Forms</h2>
    <ul>
      <li>
  <h3 class="Function" id="apply-template">apply-template</h3>
  <span class="var-kind Function">Function</span>
  <span class="var-added">v1.0</span>
  <pre class="var-usage"><div><code>(apply-template argv expr values)</code></div>
</pre>
  <p class="var-docstr">For use in macros.  argv is an argument list, as in defn.  expr is<br>
  a quoted expression using the symbols in argv.  values is a sequence<br>
  of values to be used for the arguments.<br>
<br>
  apply-template will recursively replace argument symbols in expr<br>
  with their corresponding values, returning a modified expr.<br>
<br>
  Example: (apply-template &#39;[x] &#39;(+ x x) &#39;[2])<br>
           ;=&gt; (+ 2 2)</p>
  <a href="https://github.com/candid82/joker/blob/master/core/data/template.joke#L31">source</a>
  
</li>
<li>
  <h3 class="Macro" id="do-template">do-template</h3>
  <span class="var-kind Macro">Macro</span>
  <span class="var-added">v1.0</span>
  <pre class="var-usage"><div><code>(do-template argv expr &amp; values)</code></div>
</pre>
  <p class="var-docstr">Repeatedly copies expr (in a do block) for each group of arguments<br>
  in values.  values are automatically partitioned by the number of<br>
  arguments in argv, an argument vector as in defn.<br>
<br>
  Example: (macroexpand &#39;(do-template [x y] (+ y x) 2 4 3 5))<br>
           ;=&gt; (do (+ 4 2) (+ 5 3))</p>
  <a href="https://github.com/candid82/joker/blob/master/core/data/template.joke#L47">source</a>
  
</li>

    </ul>
  </div>
</body>
<script src="main.js"></script>
</html>
